{
    "application": {
        "name": "My Symfony application",
        "version": "v1.0"
    },
    "commands": [
        {
            "name": "_complete",
            "hidden": true,
            "usage": [
                "_complete [-s|--shell SHELL] [-i|--input INPUT] [-c|--current CURRENT] [-a|--api-version API-VERSION] [-S|--symfony SYMFONY]"
            ],
            "description": "Internal command to provide shell completion suggestions",
            "help": "Internal command to provide shell completion suggestions",
            "definition": {
                "arguments": [],
                "options": {
                    "symfony": {
                        "name": "--symfony",
                        "shortcut": "-S",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "deprecated",
                        "default": null
                    },
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    },
                    "shell": {
                        "name": "--shell",
                        "shortcut": "-s",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "The shell type (\"bash\", \"fish\", \"zsh\")",
                        "default": null
                    },
                    "current": {
                        "name": "--current",
                        "shortcut": "-c",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "The index of the \"input\" array that the cursor is in (e.g. COMP_CWORD)",
                        "default": false
                    },
                    "input": {
                        "name": "--input",
                        "shortcut": "-i",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": true,
                        "description": "An array of input tokens (e.g. COMP_WORDS or argv)",
                        "default": []
                    },
                    "api-version": {
                        "name": "--api-version",
                        "shortcut": "-a",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "The API version of the completion script",
                        "default": null
                    }
                }
            }
        },
        {
            "name": "completion",
            "hidden": false,
            "usage": [
                "completion [--debug] [--] [<shell>]"
            ],
            "description": "Dump the shell completion script",
            "help": "Dump the shell completion script",
            "definition": {
                "arguments": {
                    "shell": {
                        "name": "shell",
                        "is_required": false,
                        "is_array": false,
                        "description": "The shell type (e.g. \"bash\"), the value of the \"$SHELL\" env var will be used if this is not given",
                        "default": null
                    }
                },
                "options": {
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    },
                    "debug": {
                        "name": "--debug",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Tail the completion debug log",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "help",
            "hidden": false,
            "usage": [
                "help [--format FORMAT] [--raw] [--] [<command_name>]"
            ],
            "description": "Display help for a command",
            "help": "The <info>help<\/info> command displays help for a given command:\n\n  <info>%%PHP_SELF%% help list<\/info>\n\nYou can also output the help in other formats by using the <comment>--format<\/comment> option:\n\n  <info>%%PHP_SELF%% help --format=xml list<\/info>\n\nTo display the list of available commands, please use the <info>list<\/info> command.",
            "definition": {
                "arguments": {
                    "command_name": {
                        "name": "command_name",
                        "is_required": false,
                        "is_array": false,
                        "description": "The command name",
                        "default": "help"
                    }
                },
                "options": {
                    "format": {
                        "name": "--format",
                        "shortcut": "",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "The output format (txt, xml, json, or md)",
                        "default": "txt"
                    },
                    "raw": {
                        "name": "--raw",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "To output raw command help",
                        "default": false
                    },
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "list",
            "hidden": false,
            "usage": [
                "list [--raw] [--format FORMAT] [--short] [--] [<namespace>]"
            ],
            "description": "List commands",
            "help": "The <info>list<\/info> command lists all commands:\n\n  <info>%%PHP_SELF%% list<\/info>\n\nYou can also display the commands for a specific namespace:\n\n  <info>%%PHP_SELF%% list test<\/info>\n\nYou can also output the information in other formats by using the <comment>--format<\/comment> option:\n\n  <info>%%PHP_SELF%% list --format=xml<\/info>\n\nIt's also possible to get raw list of commands (useful for embedding command runner):\n\n  <info>%%PHP_SELF%% list --raw<\/info>",
            "definition": {
                "arguments": {
                    "namespace": {
                        "name": "namespace",
                        "is_required": false,
                        "is_array": false,
                        "description": "The namespace name",
                        "default": null
                    }
                },
                "options": {
                    "raw": {
                        "name": "--raw",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "To output raw command list",
                        "default": false
                    },
                    "format": {
                        "name": "--format",
                        "shortcut": "",
                        "accept_value": true,
                        "is_value_required": true,
                        "is_multiple": false,
                        "description": "The output format (txt, xml, json, or md)",
                        "default": "txt"
                    },
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    },
                    "short": {
                        "name": "--short",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "To skip describing commands' arguments",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "descriptor:command1",
            "hidden": false,
            "usage": [
                "descriptor:command1",
                "alias1",
                "alias2"
            ],
            "description": "command 1 description",
            "help": "command 1 help",
            "definition": {
                "arguments": [],
                "options": {
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "descriptor:command2",
            "hidden": false,
            "usage": [
                "descriptor:command2 [-o|--option_name] [--] <argument_name>",
                "descriptor:command2 -o|--option_name <argument_name>",
                "descriptor:command2 <argument_name>"
            ],
            "description": "command 2 description",
            "help": "command 2 help",
            "definition": {
                "arguments": {
                    "argument_name": {
                        "name": "argument_name",
                        "is_required": true,
                        "is_array": false,
                        "description": "",
                        "default": null
                    }
                },
                "options": {
                    "option_name": {
                        "name": "--option_name",
                        "shortcut": "-o",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "",
                        "default": false
                    },
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "descriptor:command3",
            "hidden": true,
            "usage": [
                "descriptor:command3"
            ],
            "description": "command 3 description",
            "help": "command 3 help",
            "definition": {
                "arguments": {},
                "options": {
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    }
                }
            }
        },
        {
            "name": "descriptor:command4",
            "hidden": false,
            "usage": [
                "descriptor:command4",
                "descriptor:alias_command4",
                "command4:descriptor"
            ],
            "description": null,
            "help": "",
            "definition": {
                "arguments": {},
                "options": {
                    "help": {
                        "name": "--help",
                        "shortcut": "-h",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display help for the given command. When no command is given display help for the <info>list</info> command",
                        "default": false
                    },
                    "quiet": {
                        "name": "--quiet",
                        "shortcut": "-q",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not output any message",
                        "default": false
                    },
                    "verbose": {
                        "name": "--verbose",
                        "shortcut": "-v|-vv|-vvv",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug",
                        "default": false
                    },
                    "version": {
                        "name": "--version",
                        "shortcut": "-V",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Display this application version",
                        "default": false
                    },
                    "ansi": {
                        "name": "--ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Force (or disable --no-ansi) ANSI output",
                        "default": null
                    },
                    "no-ansi": {
                        "name": "--no-ansi",
                        "shortcut": "",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Negate the \"--ansi\" option",
                        "default": null
                    },
                    "no-interaction": {
                        "name": "--no-interaction",
                        "shortcut": "-n",
                        "accept_value": false,
                        "is_value_required": false,
                        "is_multiple": false,
                        "description": "Do not ask any interactive question",
                        "default": false
                    }
                }
            }
        }
    ],
    "namespaces": [
        {
            "id": "_global",
            "commands": [
                "_complete",
                "alias1",
                "alias2",
                "completion",
                "help",
                "list"
            ]
        },
        {
            "id": "command4",
            "commands": [
                "command4:descriptor"
            ]
        },
        {
            "id": "descriptor",
            "commands": [
                "descriptor:alias_command4",
                "descriptor:command1",
                "descriptor:command2",
                "descriptor:command3",
                "descriptor:command4"
            ]
        }
    ]
}
